The present invention relates to an apparatus and a method to provide wireless communications for computers, and more particularly, to an apparatus and a method to provide wireless communications for computers roaming over a wide area network.
Rapid advances in electronics have given rise to powerful mobile computers capable of performing tasks reserved for room-sized computers of the past. The functionality of these mobile computers is further enhanced by advances in telecommunication technology which enable these mobile computers to communicate with each other and to access data in an untethered manner.
Conventionally, messages may be sent as a sequence of data packets onto a communication system. The data packets may be formed at a high level of the communication protocol. Each packet is transferred to a transport layer, which passes the packet to a network layer. The network layer attaches another header called a network layer header to the data packet, and then passes the packet to a data link layer. The data link layer in turn attaches another header, a data link layer header, to the data packet. The packet is eventually transmitted to the communication system using a physical layer such as a copper wire or a wireless transceiver.
Typically, the communication system is divided into a number of links. A link may be a local area network (LAN) which is capable of supporting a few hundred nodes where computers may be attached. The LANs are connected together by a number of different devices which forward the packets to their destinations. Other types of links in a communication system may include a wide area network (WAN) formed by joining LANs, or by directly joining computers in a point-to-point connection. The packet, once transmitted onto the communication system, is forwarded from link to link until it reaches its destination end station.
One protocol which supports an interconnection of LANs is called an Internet Protocol (IP). The IP is designed to interconnect packet switched communication LANs to form an internetwork. Using the IP, blocks of data called Internet datagrams may be transmitted from sources to destinations throughout the Internet.
Additionally, a Transmission Control Protocol (TCP), a transport protocol which provides connection-oriented, end-to-end data transmission using packet switched communication LANs, is typically used with the IP as a routable protocol which networked computers use to access each other either locally on the same broadcast domain or remotely through a router. A TCP/IP packet is sent by a source station to a destination station by placing the IP address of the destination station in the destination address field of the TCP/IP packet. Similarly, the IP address of the source station is placed in the source address field of the TCP/IP packet. In the LANs, a TCP/IP packet is encapsulated within a Media Access Control (MAC)-layer frame and transmitted on a physical network. The MAC-layer frame that encapsulates the TCP/IP packet in turn has a MAC layer source address and destination address of its own. The MAC-layer destination address that is in the outgoing frame is either the MAC layer address for a router that is connected to the local broadcast domain of the source station (for remote stations, i.e. stations that are not connected to the same broadcast domain as the source station), or the MAC layer address of the destination (for local stations i.e. stations that are connected to the same broadcast domain as the source station).
The TCP/IP protocol identifies a computer on the network via a globally unique IP address. The TCP/IP protocol distinguishes between addresses that are local (on the same broadcast domain) and remote (accessed via a router) by dividing the entire Internet wide area network into smaller subnetworks. A TCP/IP subnetwork can either contain more subnetworks or may terminate at stations such as mobile computers, personal computers, workstations or printers.
A TCP/IP subnetwork mask is employed to determine if the destination IP address is that of either a local or a remote station in the following manner. Both the destination and source IP addresses are logically ANDed with the subnet mask. If the results of the operation are the same for both the destination and source IP addresses, then the source and destination stations are connected to the same broadcast domain and the destination station is a local station. Otherwise, the destination station is not connected to the same broadcast domain as the destination station and is a remote station. If the destination station is determined to be a local station, the source station determines the MAC address of the destination station and transmits the frame directly to the destination station via their common broadcast domain. If the destination station is determined to be a remote station, the source station will determine the MAC address of a default router (by which remote stations can be reached) and transmits the frame to the default router, which forwards it to the destination station via a routing network.
The ability to identify a computer on the network via a globally unique IP address allows the Internet to act as a global WAN. However, the IP was originally developed with an assumption that users are assigned to unique Internet addresses which would be connected to networks at essentially fixed locations: the IP address of a unit identifies the unit""s point of attachment to the network. Datagrams are routed to the unit according to the location information contained in the IP header. However, if the mobile unit changes its point of attachment without changing its IP address, datagrams destined to it would become undeliverable. Further, if the unit changes its IP address when it moves to a new network, the unit would lose the connection. The limitation becomes intolerable for mobile units such as portable and hand-held computers migrating about the network.
The invention provides an apparatus and a method of routing information to a mobile unit in a data communications system having a home network and a remote network. Each of the home and remote networks supports one or more mobile units and one or more stationary access points. The mobile unit has a unique address and may roam from the home network to the remote network. The mobile unit associates with one access point which serves as a home agent. When the mobile unit roams and is away from its home network, the apparatus discovers a physical location of the mobile unit by sending an agent advertisement packet from the access point. If the location of the mobile unit is not at the home network, the apparatus associates the mobile unit with one of the access points on the foreign network which serves as a foreign agent. Next, the apparatus registers the mobile unit with the home agent, encapsulates original data received by the home agent which is destined for the mobile unit, forwards encapsulated data to the foreign agent, and converts the encapsulated data to the original data and delivers the original data to the mobile unit via the foreign agent.
In one aspect, the mobile unit association is performed by handshaking with one of the access points on the remote network and by receiving an agent advertisement packet from the handshaked access point. A registration request packet is generated and sent to the handshaked access point. If the registration request packet is granted, the apparatus selects the access point as the foreign agent.
In another aspect, a predetermined access point is selected as the home agent if the mobile unit is first activated on the foreign network. Alternatively, one of the access points on the home network is selected as the home agent when the mobile unit is initially activated on the home network.
In yet another aspect, the apparatus disassociates mobile units that do not periodically request registrations from its active list. This is done by waiting until a registration expires on the access point. If the access point is serving as the home agent, the apparatus removes the reference to the mobile unit from a home agent table and if the access point is serving as the foreign agent, the apparatus removes the reference to the mobile unit from a foreign agent table.
In yet another aspect, the mobile unit is registered by providing a care-of address associated with the foreign agent to the home agent. During the registration request process, if the access point is acting as the foreign agent, the apparatus relays the request to the home agent. If the access point is acting as the home agent, the apparatus updates the reference to the mobile unit in the home agent table.
In yet another aspect, a registration reply is sent to the mobile unit. The process determines whether the access point is acting as a foreign agent and if so, adds the reference to the mobile unit in a foreign agent table and relays the registration reply to the mobile unit.
In yet another aspect, the apparatus removes the mobility support when the mobile unit returns to the home network.
In yet another aspect, text data, voice data, video data, and image data may be forwarded by the apparatus to the roaming mobile unit.
Advantages of the invention include the following. The mobile unit may freely roam about even though it is assigned to a unique, fixed Internet address tied to a fixed location. Datagrams are automatically routed to the unit anywhere in the world where corresponding local networks are available, regardless of its position. Datagrams destined for the roaming unit would be delivered, even though the unit may have roamed outside of its home port. Moreover, the unit does not need to change its IP address when it moves to a new network. Thus, the fixed IP address is retained to ensure compatibility with existing protocols. Further, the mobility support capability is provided without requiring changes to the mobile unit.